package com.redepronik.negosys.invfac.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * The persistent class for the detalleegreso database table.
 * 
 */
@Entity
@Table(schema = "invfac", name = "detalleegreso")
@NamedQuery(name = "Detalleegreso.findAll", query = "SELECT d FROM Detalleegreso d")
public class Detalleegreso implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "DETALLEEGRESO_DETALLEEGRESOID_GENERATOR", sequenceName = "INVFAC.DETALLEEGRESO_DETALLEEGRESOID_SEQ")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "DETALLEEGRESO_DETALLEEGRESOID_GENERATOR")
	@Column(unique = true, nullable = false)
	private Long detalleegresoid;

	@Column(length = 10)
	private String autorizacionprecio;

	@Column(nullable = false)
	private Integer cantidad;

	private Boolean eliminar;

	@Column(nullable = false)
	private Boolean iva;

	@Column(nullable = false, precision = 20, scale = 10)
	private BigDecimal preciocosto;

	@Column(precision = 20, scale = 10)
	private BigDecimal descuento;

	@Column(nullable = false, precision = 20, scale = 10)
	private BigDecimal precioventa;

	@Column(nullable = false)
	private Boolean promocion;

	@Column(nullable = false)
	private Integer orden;

	// bi-directional many-to-one association to Egreso
	@ManyToOne
	@JoinColumn(name = "egresoid", nullable = false)
	private Egreso egreso;

	// bi-directional many-to-one association to Motivobaja
	@ManyToOne
	@JoinColumn(name = "motivobajaid")
	private Motivobaja motivobaja;

	// bi-directional many-to-one association to Producto
	@ManyToOne
	@JoinColumn(name = "productoid", nullable = false)
	private Producto producto;

	public Detalleegreso() {
	}

	public String getAutorizacionprecio() {
		return this.autorizacionprecio;
	}

	public Integer getCantidad() {
		return this.cantidad;
	}

	public BigDecimal getDescuento() {
		return descuento;
	}

	public Long getDetalleegresoid() {
		return this.detalleegresoid;
	}

	public Egreso getEgreso() {
		return this.egreso;
	}

	public Boolean getEliminar() {
		return this.eliminar;
	}

	public Boolean getIva() {
		return this.iva;
	}

	public Motivobaja getMotivobaja() {
		return this.motivobaja;
	}

	public Integer getOrden() {
		return orden;
	}

	public BigDecimal getPreciocosto() {
		return this.preciocosto;
	}

	public BigDecimal getPrecioventa() {
		return this.precioventa;
	}

	public Producto getProducto() {
		return this.producto;
	}

	public Boolean getPromocion() {
		return this.promocion;
	}

	public void setAutorizacionprecio(String autorizacionprecio) {
		this.autorizacionprecio = autorizacionprecio;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	public void setDescuento(BigDecimal descuento) {
		this.descuento = descuento;
	}

	public void setDetalleegresoid(Long detalleegresoid) {
		this.detalleegresoid = detalleegresoid;
	}

	public void setEgreso(Egreso egreso) {
		this.egreso = egreso;
	}

	public void setEliminar(Boolean eliminar) {
		this.eliminar = eliminar;
	}

	public void setIva(Boolean iva) {
		this.iva = iva;
	}

	public void setMotivobaja(Motivobaja motivobaja) {
		this.motivobaja = motivobaja;
	}

	public void setOrden(Integer orden) {
		this.orden = orden;
	}

	public void setPreciocosto(BigDecimal preciocosto) {
		this.preciocosto = preciocosto;
	}

	public void setPrecioventa(BigDecimal precioventa) {
		this.precioventa = precioventa;
	}

	public void setProducto(Producto producto) {
		this.producto = producto;
	}

	public void setPromocion(Boolean promocion) {
		this.promocion = promocion;
	}

}